package com.cctv.cdm.schema.columninfotype._1;

import java.math.BigInteger;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.datatype.XMLGregorianCalendar;
import com.cctv.ppm.schema.ppm_commondatatypes._0.ColumnSubType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.ContentCategoryType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.LanguageType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.PlayPeriodType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.ProductionClassType;
import com.cctv.ppm.schema.ppm_commondatatypes._0.ProductionModeType;

/**
 * <p>ColumnInfoType complex type的 Java 类。
 * 
 * <p>以下模式片段指定包含在此类中的预期内容。
 * 
 * <pre>
 * &lt;complexType name="ColumnInfoType"&gt;
 *   &lt;complexContent&gt;
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *       &lt;sequence&gt;
 *         &lt;element name="ColumnCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ColumnCodeType"/&gt;
 *         &lt;element name="ColumnName" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelNameType"/&gt;
 *         &lt;element name="ColumnForeignName"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;maxLength value="255"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ColumnComment"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;maxLength value="255"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ColumnCategory" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ContentCategoryType"/&gt;
 *         &lt;element name="ColumnSubType" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ColumnSubType"/&gt;
 *         &lt;element name="NewsFlag" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsNewsFlagType"/&gt;
 *         &lt;element name="ProductionModes"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="ProductionMode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ProductionModeType" maxOccurs="unbounded"/&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ProductionClasses"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="ProductionClass" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ProductionClassType" maxOccurs="unbounded"/&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="DepartmentCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DepartmentCodeType"/&gt;
 *         &lt;element name="ChannelCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelCodeType"/&gt;
 *         &lt;element name="Producer" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}UserIDType"/&gt;
 *         &lt;element name="ColumnPlayBeginPlayDate" type="{http://www.w3.org/2001/XMLSchema}date"/&gt;
 *         &lt;element name="ColumnPlayEndPlayDate" type="{http://www.w3.org/2001/XMLSchema}date"/&gt;
 *         &lt;element name="ColumnStatus"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;enumeration value="1"/&gt;
 *               &lt;enumeration value="2"/&gt;
 *               &lt;enumeration value="3"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="YearFirstPlaySum" type="{http://www.w3.org/2001/XMLSchema}positiveInteger"/&gt;
 *         &lt;element name="ThroughType" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ThroughType"/&gt;
 *         &lt;element name="Video" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}VideoType"/&gt;
 *         &lt;element name="AFD" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}AFDType"/&gt;
 *         &lt;element name="Audio" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}AudioType"/&gt;
 *         &lt;element name="MediaType" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}MediaType"/&gt;
 *         &lt;element name="CopyrightPlan"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;maxLength value="255"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ProMaterialPro" type="{http://www.w3.org/2001/XMLSchema}string"/&gt;
 *         &lt;element name="IsArchiveColumn"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;length value="1"/&gt;
 *               &lt;enumeration value="0"/&gt;
 *               &lt;enumeration value="1"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ColumnMultipleType"&gt;
 *           &lt;simpleType&gt;
 *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *               &lt;length value="1"/&gt;
 *               &lt;enumeration value="0"/&gt;
 *               &lt;enumeration value="1"/&gt;
 *               &lt;enumeration value="2"/&gt;
 *               &lt;enumeration value="3"/&gt;
 *             &lt;/restriction&gt;
 *           &lt;/simpleType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ColumnLengthLists" minOccurs="0"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="ColumnLengthList" maxOccurs="unbounded"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="ColumnLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
 *                             &lt;element name="BreakPointSum"&gt;
 *                               &lt;simpleType&gt;
 *                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *                                 &lt;/restriction&gt;
 *                               &lt;/simpleType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *         &lt;element name="ColumnPlayPlans"&gt;
 *           &lt;complexType&gt;
 *             &lt;complexContent&gt;
 *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                 &lt;sequence&gt;
 *                   &lt;element name="ColumnPlayPlan" maxOccurs="unbounded"&gt;
 *                     &lt;complexType&gt;
 *                       &lt;complexContent&gt;
 *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                           &lt;sequence&gt;
 *                             &lt;element name="ColumnPlayPlanID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ColumnPlayPlanIDType"/&gt;
 *                             &lt;element name="ChannelCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelCodeType"/&gt;
 *                             &lt;element name="Weekday" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}WeekDayType"/&gt;
 *                             &lt;element name="ColumnPlayBeginTime" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayTimeType"/&gt;
 *                             &lt;element name="IsLive" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsLiveType"/&gt;
 *                             &lt;element name="Duration" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
 *                             &lt;element name="LimitADSegmentSum" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
 *                             &lt;element name="LimitADTimeLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
 *                             &lt;element name="IsFirstPlay" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsFirstPlayType"/&gt;
 *                             &lt;element name="AudioLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *                             &lt;element name="SubtitleLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
 *                             &lt;element name="PlayPeriodIDs"&gt;
 *                               &lt;complexType&gt;
 *                                 &lt;complexContent&gt;
 *                                   &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
 *                                     &lt;sequence&gt;
 *                                       &lt;element name="PlayPeriodID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayPeriodType"/&gt;
 *                                     &lt;/sequence&gt;
 *                                   &lt;/restriction&gt;
 *                                 &lt;/complexContent&gt;
 *                               &lt;/complexType&gt;
 *                             &lt;/element&gt;
 *                             &lt;element name="ParentPlanID"&gt;
 *                               &lt;simpleType&gt;
 *                                 &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
 *                                   &lt;length value="18"/&gt;
 *                                 &lt;/restriction&gt;
 *                               &lt;/simpleType&gt;
 *                             &lt;/element&gt;
 *                           &lt;/sequence&gt;
 *                         &lt;/restriction&gt;
 *                       &lt;/complexContent&gt;
 *                     &lt;/complexType&gt;
 *                   &lt;/element&gt;
 *                 &lt;/sequence&gt;
 *               &lt;/restriction&gt;
 *             &lt;/complexContent&gt;
 *           &lt;/complexType&gt;
 *         &lt;/element&gt;
 *       &lt;/sequence&gt;
 *     &lt;/restriction&gt;
 *   &lt;/complexContent&gt;
 * &lt;/complexType&gt;
 * </pre>
 * 
 * 
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ColumnInfoType", propOrder = {
    "columnCode",   
    "columnName",	
    "columnForeignName",
    "columnComment",	
    "columnCategory",	
    "columnSubType",	
    "newsFlag",			
    "productionModes", 
    "productionClasses",
    "departmentCode",   
    "channelCode",   	
    "producer",		 	
    "columnPlayBeginPlayDate",
    "columnPlayEndPlayDate",  
    "columnStatus",		
    "yearFirstPlaySum", 
    "throughType",
    "video",
    "afd",
    "audio",
    "mediaType",
    "copyrightPlan",
    "proMaterialPro",
    "isArchiveColumn",
    "columnMultipleType",
    "columnLengthLists",
    "columnPlayPlans"
})
public class ColumnInfoType {

    @XmlElement(name = "ColumnCode", required = true)
    protected String columnCode;//栏目代码
    @XmlElement(name = "ColumnName", required = true)
    
    protected String columnName;//栏目名称
    @XmlElement(name = "ColumnForeignName", required = true, nillable = true)
    
    protected String columnForeignName;//栏目外文名称
    @XmlElement(name = "ColumnComment", required = true)
    
    protected String columnComment;//栏目介绍
    @XmlElement(name = "ColumnCategory", required = true)
    
    protected ContentCategoryType columnCategory;      //否   <栏目类别> ContentCategoryType.contentCategoryName(String类型)    
    @XmlElement(name = "ColumnSubType", required = true)//ContentCategoryType.contentCategoryCode(BigInteger类型)
    
    protected ColumnSubType columnSubType;    //无  <栏目类型>   ColumnSubType.columnSubTypeCode (BigInteger类型)
    @XmlElement(name = "NewsFlag")		//ColumnSubType.columnSubTypeName(String类型)
    
    protected boolean newsFlag;  //否   新闻栏目标志
    @XmlElement(name = "ProductionModes", required = true)
    
    protected ColumnInfoType.ProductionModes productionModes;  
    @XmlElement(name = "ProductionClasses", required = true)
    
    protected ColumnInfoType.ProductionClasses productionClasses;
    @XmlElement(name = "DepartmentCode", required = true)
    
    protected String departmentCode;   //部门代码
    @XmlElement(name = "ChannelCode", required = true)
    
    protected String channelCode;     //频道代码
    @XmlElement(name = "Producer", required = true)
    
    protected String producer;			//栏目制片人
    @XmlElement(name = "ColumnPlayBeginPlayDate", required = true)
    
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar columnPlayBeginPlayDate;    //栏目首播日期
    @XmlElement(name = "ColumnPlayEndPlayDate", required = true, nillable = true)
    
    @XmlSchemaType(name = "date")
    protected XMLGregorianCalendar columnPlayEndPlayDate;//栏目停播日期
    @XmlElement(name = "ColumnStatus", required = true)
    
    protected String columnStatus;		//栏目状态
    @XmlElement(name = "YearFirstPlaySum", required = true)    
    @XmlSchemaType(name = "positiveInteger")
    
    protected BigInteger yearFirstPlaySum;   //年度首播期数
    @XmlElement(name = "ThroughType", required = true)
    
    protected String throughType; //无 
    @XmlElement(name = "Video", required = true)
    
    protected String video;//否
    @XmlElement(name = "AFD", required = true)
    
    protected String afd;//否
    @XmlElement(name = "Audio", required = true)
   
    protected String audio;  //否  
    
    @XmlElement(name = "MediaType", required = true) 
    
    protected String mediaType;  //无
    @XmlElement(name = "CopyrightPlan", required = true, nillable = true)
    
    protected String copyrightPlan;  //无
    @XmlElement(name = "ProMaterialPro", required = true, nillable = true)
    
    protected String proMaterialPro;//无  节目素材比
    @XmlElement(name = "IsArchiveColumn", required = true, nillable = true)
    
    protected String isArchiveColumn;  //无  是否只存低码流
    @XmlElement(name = "ColumnMultipleType", required = true)
    
    protected String columnMultipleType;  // 栏目时长类型
    @XmlElementRef(name = "ColumnLengthLists", namespace = "http://cctv.com/CDM/schema/ColumnInfoType/1.0", type = JAXBElement.class)
    
    protected JAXBElement<ColumnInfoType.ColumnLengthLists> columnLengthLists;    //..栏目时长
    
    /* 该字段不考虑 */
    @XmlElement(name = "ColumnPlayPlans", required = true, nillable = true)
    protected ColumnInfoType.ColumnPlayPlans columnPlayPlans;

    /**
     * 获取columnCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnCode() {
        return columnCode;
    }

    /**
     * 设置columnCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnCode(String value) {
        this.columnCode = value;
    }

    /**
     * 获取columnName属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnName() {
        return columnName;
    }

    /**
     * 设置columnName属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnName(String value) {
        this.columnName = value;
    }

    /**
     * 获取columnForeignName属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnForeignName() {
        return columnForeignName;
    }

    /**
     * 设置columnForeignName属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnForeignName(String value) {
        this.columnForeignName = value;
    }

    /**
     * 获取columnComment属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnComment() {
        return columnComment;
    }

    /**
     * 设置columnComment属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnComment(String value) {
        this.columnComment = value;
    }

    /**
     * 获取columnCategory属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ContentCategoryType }
     *     
     */
    public ContentCategoryType getColumnCategory() {
        return columnCategory;
    }

    /**
     * 设置columnCategory属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ContentCategoryType }
     *     
     */
    public void setColumnCategory(ContentCategoryType value) {
        this.columnCategory = value;
    }

    /**
     * 获取columnSubType属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ColumnSubType }
     *     
     */
    public ColumnSubType getColumnSubType() {
        return columnSubType;
    }

    /**
     * 设置columnSubType属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ColumnSubType }
     *     
     */
    public void setColumnSubType(ColumnSubType value) {
        this.columnSubType = value;
    }

    /**
     * 获取newsFlag属性的值。
     * 
     */
    public boolean isNewsFlag() {
        return newsFlag;
    }

    /**
     * 设置newsFlag属性的值。
     * 
     */
    public void setNewsFlag(boolean value) {
        this.newsFlag = value;
    }

    /**
     * 获取productionModes属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ColumnInfoType.ProductionModes }
     *     
     */
    public ColumnInfoType.ProductionModes getProductionModes() {
        return productionModes;
    }

    /**
     * 设置productionModes属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ColumnInfoType.ProductionModes }
     *     
     */
    public void setProductionModes(ColumnInfoType.ProductionModes value) {
        this.productionModes = value;
    }

    /**
     * 获取productionClasses属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ColumnInfoType.ProductionClasses }
     *     
     */
    public ColumnInfoType.ProductionClasses getProductionClasses() {
        return productionClasses;
    }

    /**
     * 设置productionClasses属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ColumnInfoType.ProductionClasses }
     *     
     */
    public void setProductionClasses(ColumnInfoType.ProductionClasses value) {
        this.productionClasses = value;
    }

    /**
     * 获取departmentCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getDepartmentCode() {
        return departmentCode;
    }

    /**
     * 设置departmentCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setDepartmentCode(String value) {
        this.departmentCode = value;
    }

    /**
     * 获取channelCode属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getChannelCode() {
        return channelCode;
    }

    /**
     * 设置channelCode属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setChannelCode(String value) {
        this.channelCode = value;
    }

    /**
     * 获取producer属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProducer() {
        return producer;
    }

    /**
     * 设置producer属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProducer(String value) {
        this.producer = value;
    }

    /**
     * 获取columnPlayBeginPlayDate属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getColumnPlayBeginPlayDate() {
        return columnPlayBeginPlayDate;
    }

    /**
     * 设置columnPlayBeginPlayDate属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setColumnPlayBeginPlayDate(XMLGregorianCalendar value) {
        this.columnPlayBeginPlayDate = value;
    }

    /**
     * 获取columnPlayEndPlayDate属性的值。
     * 
     * @return
     *     possible object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public XMLGregorianCalendar getColumnPlayEndPlayDate() {
        return columnPlayEndPlayDate;
    }

    /**
     * 设置columnPlayEndPlayDate属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link XMLGregorianCalendar }
     *     
     */
    public void setColumnPlayEndPlayDate(XMLGregorianCalendar value) {
        this.columnPlayEndPlayDate = value;
    }

    /**
     * 获取columnStatus属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnStatus() {
        return columnStatus;
    }

    /**
     * 设置columnStatus属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnStatus(String value) {
        this.columnStatus = value;
    }

    /**
     * 获取yearFirstPlaySum属性的值。
     * 
     * @return
     *     possible object is
     *     {@link BigInteger }
     *     
     */
    public BigInteger getYearFirstPlaySum() {
        return yearFirstPlaySum;
    }

    /**
     * 设置yearFirstPlaySum属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link BigInteger }
     *     
     */
    public void setYearFirstPlaySum(BigInteger value) {
        this.yearFirstPlaySum = value;
    }

    /**
     * 获取throughType属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getThroughType() {
        return throughType;
    }

    /**
     * 设置throughType属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setThroughType(String value) {
        this.throughType = value;
    }

    /**
     * 获取video属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getVideo() {
        return video;
    }

    /**
     * 设置video属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setVideo(String value) {
        this.video = value;
    }

    /**
     * 获取afd属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAFD() {
        return afd;
    }

    /**
     * 设置afd属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAFD(String value) {
        this.afd = value;
    }

    /**
     * 获取audio属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getAudio() {
        return audio;
    }

    /**
     * 设置audio属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setAudio(String value) {
        this.audio = value;
    }

    /**
     * 获取mediaType属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getMediaType() {
        return mediaType;
    }

    /**
     * 设置mediaType属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setMediaType(String value) {
        this.mediaType = value;
    }

    /**
     * 获取copyrightPlan属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getCopyrightPlan() {
        return copyrightPlan;
    }

    /**
     * 设置copyrightPlan属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setCopyrightPlan(String value) {
        this.copyrightPlan = value;
    }

    /**
     * 获取proMaterialPro属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getProMaterialPro() {
        return proMaterialPro;
    }

    /**
     * 设置proMaterialPro属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setProMaterialPro(String value) {
        this.proMaterialPro = value;
    }

    /**
     * 获取isArchiveColumn属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getIsArchiveColumn() {
        return isArchiveColumn;
    }

    /**
     * 设置isArchiveColumn属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setIsArchiveColumn(String value) {
        this.isArchiveColumn = value;
    }

    /**
     * 获取columnMultipleType属性的值。
     * 
     * @return
     *     possible object is
     *     {@link String }
     *     
     */
    public String getColumnMultipleType() {
        return columnMultipleType;
    }

    /**
     * 设置columnMultipleType属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link String }
     *     
     */
    public void setColumnMultipleType(String value) {
        this.columnMultipleType = value;
    }

    /**
     * 获取columnLengthLists属性的值。
     * 
     * @return
     *     possible object is
     *     {@link JAXBElement }{@code <}{@link ColumnInfoType.ColumnLengthLists }{@code >}
     *     
     */
    public JAXBElement<ColumnInfoType.ColumnLengthLists> getColumnLengthLists() {
        return columnLengthLists;
    }

    /**
     * 设置columnLengthLists属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link JAXBElement }{@code <}{@link ColumnInfoType.ColumnLengthLists }{@code >}
     *     
     */
    public void setColumnLengthLists(JAXBElement<ColumnInfoType.ColumnLengthLists> value) {
        this.columnLengthLists = value;
    }

    /**
     * 获取columnPlayPlans属性的值。
     * 
     * @return
     *     possible object is
     *     {@link ColumnInfoType.ColumnPlayPlans }
     *     
     */
    public ColumnInfoType.ColumnPlayPlans getColumnPlayPlans() {
        return columnPlayPlans;
    }

    /**
     * 设置columnPlayPlans属性的值。
     * 
     * @param value
     *     allowed object is
     *     {@link ColumnInfoType.ColumnPlayPlans }
     *     
     */
    public void setColumnPlayPlans(ColumnInfoType.ColumnPlayPlans value) {
        this.columnPlayPlans = value;
    }


    /**
     * <p>anonymous complex type的 Java 类。
     * 
     * <p>以下模式片段指定包含在此类中的预期内容。
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="ColumnLengthList" maxOccurs="unbounded"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="ColumnLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
     *                   &lt;element name="BreakPointSum"&gt;
     *                     &lt;simpleType&gt;
     *                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
     *                       &lt;/restriction&gt;
     *                     &lt;/simpleType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "columnLengthList"
    })
    
    public static class ColumnLengthLists {

        @XmlElement(name = "ColumnLengthList", required = true, nillable = true)
        protected List<ColumnInfoType.ColumnLengthLists.ColumnLengthList> columnLengthList;

        /**
         * Gets the value of the columnLengthList property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the columnLengthList property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getColumnLengthList().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link ColumnInfoType.ColumnLengthLists.ColumnLengthList }
         * 
         * 
         */
        public List<ColumnInfoType.ColumnLengthLists.ColumnLengthList> getColumnLengthList() {
            if (columnLengthList == null) {
                columnLengthList = new ArrayList<ColumnInfoType.ColumnLengthLists.ColumnLengthList>();
            }
            return this.columnLengthList;
        }


        /**
         * <p>anonymous complex type的 Java 类。
         * 
         * <p>以下模式片段指定包含在此类中的预期内容。
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="ColumnLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
         *         &lt;element name="BreakPointSum"&gt;
         *           &lt;simpleType&gt;
         *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
         *             &lt;/restriction&gt;
         *           &lt;/simpleType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "columnLength",
            "breakPointSum"
        })
        public static class ColumnLengthList {

            @XmlElement(name = "ColumnLength", required = true)
            protected String columnLength;
            @XmlElement(name = "BreakPointSum", required = true)
            protected String breakPointSum;

            /**
             * 获取columnLength属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getColumnLength() {
                return columnLength;
            }

            /**
             * 设置columnLength属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setColumnLength(String value) {
                this.columnLength = value;
            }

            /**
             * 获取breakPointSum属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getBreakPointSum() {
                return breakPointSum;
            }

            /**
             * 设置breakPointSum属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setBreakPointSum(String value) {
                this.breakPointSum = value;
            }

        }

    }


    /**
     * <p>anonymous complex type的 Java 类。
     * 
     * <p>以下模式片段指定包含在此类中的预期内容。
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="ColumnPlayPlan" maxOccurs="unbounded"&gt;
     *           &lt;complexType&gt;
     *             &lt;complexContent&gt;
     *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                 &lt;sequence&gt;
     *                   &lt;element name="ColumnPlayPlanID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ColumnPlayPlanIDType"/&gt;
     *                   &lt;element name="ChannelCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelCodeType"/&gt;
     *                   &lt;element name="Weekday" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}WeekDayType"/&gt;
     *                   &lt;element name="ColumnPlayBeginTime" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayTimeType"/&gt;
     *                   &lt;element name="IsLive" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsLiveType"/&gt;
     *                   &lt;element name="Duration" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
     *                   &lt;element name="LimitADSegmentSum" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
     *                   &lt;element name="LimitADTimeLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
     *                   &lt;element name="IsFirstPlay" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsFirstPlayType"/&gt;
     *                   &lt;element name="AudioLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
     *                   &lt;element name="SubtitleLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
     *                   &lt;element name="PlayPeriodIDs"&gt;
     *                     &lt;complexType&gt;
     *                       &lt;complexContent&gt;
     *                         &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *                           &lt;sequence&gt;
     *                             &lt;element name="PlayPeriodID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayPeriodType"/&gt;
     *                           &lt;/sequence&gt;
     *                         &lt;/restriction&gt;
     *                       &lt;/complexContent&gt;
     *                     &lt;/complexType&gt;
     *                   &lt;/element&gt;
     *                   &lt;element name="ParentPlanID"&gt;
     *                     &lt;simpleType&gt;
     *                       &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
     *                         &lt;length value="18"/&gt;
     *                       &lt;/restriction&gt;
     *                     &lt;/simpleType&gt;
     *                   &lt;/element&gt;
     *                 &lt;/sequence&gt;
     *               &lt;/restriction&gt;
     *             &lt;/complexContent&gt;
     *           &lt;/complexType&gt;
     *         &lt;/element&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "columnPlayPlan"
    })
    public static class ColumnPlayPlans {

        @XmlElement(name = "ColumnPlayPlan", required = true, nillable = true)
        protected List<ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan> columnPlayPlan;

        /**
         * Gets the value of the columnPlayPlan property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the columnPlayPlan property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getColumnPlayPlan().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan }
         * 
         * 
         */
        public List<ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan> getColumnPlayPlan() {
            if (columnPlayPlan == null) {
                columnPlayPlan = new ArrayList<ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan>();
            }
            return this.columnPlayPlan;
        }


        /**
         * <p>anonymous complex type的 Java 类。
         * 
         * <p>以下模式片段指定包含在此类中的预期内容。
         * 
         * <pre>
         * &lt;complexType&gt;
         *   &lt;complexContent&gt;
         *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *       &lt;sequence&gt;
         *         &lt;element name="ColumnPlayPlanID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ColumnPlayPlanIDType"/&gt;
         *         &lt;element name="ChannelCode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ChannelCodeType"/&gt;
         *         &lt;element name="Weekday" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}WeekDayType"/&gt;
         *         &lt;element name="ColumnPlayBeginTime" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayTimeType"/&gt;
         *         &lt;element name="IsLive" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsLiveType"/&gt;
         *         &lt;element name="Duration" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
         *         &lt;element name="LimitADSegmentSum" type="{http://www.w3.org/2001/XMLSchema}nonNegativeInteger"/&gt;
         *         &lt;element name="LimitADTimeLength" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}DurationType"/&gt;
         *         &lt;element name="IsFirstPlay" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}IsFirstPlayType"/&gt;
         *         &lt;element name="AudioLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
         *         &lt;element name="SubtitleLanguage" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}LanguageType"/&gt;
         *         &lt;element name="PlayPeriodIDs"&gt;
         *           &lt;complexType&gt;
         *             &lt;complexContent&gt;
         *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
         *                 &lt;sequence&gt;
         *                   &lt;element name="PlayPeriodID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayPeriodType"/&gt;
         *                 &lt;/sequence&gt;
         *               &lt;/restriction&gt;
         *             &lt;/complexContent&gt;
         *           &lt;/complexType&gt;
         *         &lt;/element&gt;
         *         &lt;element name="ParentPlanID"&gt;
         *           &lt;simpleType&gt;
         *             &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string"&gt;
         *               &lt;length value="18"/&gt;
         *             &lt;/restriction&gt;
         *           &lt;/simpleType&gt;
         *         &lt;/element&gt;
         *       &lt;/sequence&gt;
         *     &lt;/restriction&gt;
         *   &lt;/complexContent&gt;
         * &lt;/complexType&gt;
         * </pre>
         * 
         * 
         */
        @XmlAccessorType(XmlAccessType.FIELD)
        @XmlType(name = "", propOrder = {
            "columnPlayPlanID",
            "channelCode",
            "weekday",
            "columnPlayBeginTime",
            "isLive",
            "duration",
            "limitADSegmentSum",
            "limitADTimeLength",
            "isFirstPlay",
            "audioLanguage",
            "subtitleLanguage",
            "playPeriodIDs",
            "parentPlanID"
        })
        
        public static class ColumnPlayPlan {

            @XmlElement(name = "ColumnPlayPlanID", required = true)
            protected String columnPlayPlanID;
            @XmlElement(name = "ChannelCode", required = true)
            protected String channelCode;
            @XmlElement(name = "Weekday", required = true)
            protected String weekday;
            @XmlElement(name = "ColumnPlayBeginTime", required = true)
            protected String columnPlayBeginTime;
            @XmlElement(name = "IsLive", required = true)
            protected String isLive;
            @XmlElement(name = "Duration", required = true)
            protected String duration;
            @XmlElement(name = "LimitADSegmentSum", required = true)
            @XmlSchemaType(name = "nonNegativeInteger")
            protected BigInteger limitADSegmentSum;
            @XmlElement(name = "LimitADTimeLength", required = true)
            protected String limitADTimeLength;
            @XmlElement(name = "IsFirstPlay", required = true)
            protected String isFirstPlay;
            @XmlElement(name = "AudioLanguage", required = true)
            protected LanguageType audioLanguage;
            @XmlElement(name = "SubtitleLanguage", required = true)
            protected LanguageType subtitleLanguage;
            @XmlElement(name = "PlayPeriodIDs", required = true)
            protected ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan.PlayPeriodIDs playPeriodIDs;
            @XmlElement(name = "ParentPlanID", required = true, nillable = true)
            protected String parentPlanID;

            /**
             * 获取columnPlayPlanID属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getColumnPlayPlanID() {
                return columnPlayPlanID;
            }

            /**
             * 设置columnPlayPlanID属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setColumnPlayPlanID(String value) {
                this.columnPlayPlanID = value;
            }

            /**
             * 获取channelCode属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getChannelCode() {
                return channelCode;
            }

            /**
             * 设置channelCode属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setChannelCode(String value) {
                this.channelCode = value;
            }

            /**
             * 获取weekday属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getWeekday() {
                return weekday;
            }

            /**
             * 设置weekday属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setWeekday(String value) {
                this.weekday = value;
            }

            /**
             * 获取columnPlayBeginTime属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getColumnPlayBeginTime() {
                return columnPlayBeginTime;
            }

            /**
             * 设置columnPlayBeginTime属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setColumnPlayBeginTime(String value) {
                this.columnPlayBeginTime = value;
            }

            /**
             * 获取isLive属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getIsLive() {
                return isLive;
            }

            /**
             * 设置isLive属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setIsLive(String value) {
                this.isLive = value;
            }

            /**
             * 获取duration属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getDuration() {
                return duration;
            }

            /**
             * 设置duration属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setDuration(String value) {
                this.duration = value;
            }

            /**
             * 获取limitADSegmentSum属性的值。
             * 
             * @return
             *     possible object is
             *     {@link BigInteger }
             *     
             */
            public BigInteger getLimitADSegmentSum() {
                return limitADSegmentSum;
            }

            /**
             * 设置limitADSegmentSum属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link BigInteger }
             *     
             */
            public void setLimitADSegmentSum(BigInteger value) {
                this.limitADSegmentSum = value;
            }

            /**
             * 获取limitADTimeLength属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getLimitADTimeLength() {
                return limitADTimeLength;
            }

            /**
             * 设置limitADTimeLength属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setLimitADTimeLength(String value) {
                this.limitADTimeLength = value;
            }

            /**
             * 获取isFirstPlay属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getIsFirstPlay() {
                return isFirstPlay;
            }

            /**
             * 设置isFirstPlay属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setIsFirstPlay(String value) {
                this.isFirstPlay = value;
            }

            /**
             * 获取audioLanguage属性的值。
             * 
             * @return
             *     possible object is
             *     {@link LanguageType }
             *     
             */
            public LanguageType getAudioLanguage() {
                return audioLanguage;
            }

            /**
             * 设置audioLanguage属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link LanguageType }
             *     
             */
            public void setAudioLanguage(LanguageType value) {
                this.audioLanguage = value;
            }

            /**
             * 获取subtitleLanguage属性的值。
             * 
             * @return
             *     possible object is
             *     {@link LanguageType }
             *     
             */
            public LanguageType getSubtitleLanguage() {
                return subtitleLanguage;
            }

            /**
             * 设置subtitleLanguage属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link LanguageType }
             *     
             */
            public void setSubtitleLanguage(LanguageType value) {
                this.subtitleLanguage = value;
            }

            /**
             * 获取playPeriodIDs属性的值。
             * 
             * @return
             *     possible object is
             *     {@link ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan.PlayPeriodIDs }
             *     
             */
            public ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan.PlayPeriodIDs getPlayPeriodIDs() {
                return playPeriodIDs;
            }

            /**
             * 设置playPeriodIDs属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan.PlayPeriodIDs }
             *     
             */
            public void setPlayPeriodIDs(ColumnInfoType.ColumnPlayPlans.ColumnPlayPlan.PlayPeriodIDs value) {
                this.playPeriodIDs = value;
            }

            /**
             * 获取parentPlanID属性的值。
             * 
             * @return
             *     possible object is
             *     {@link String }
             *     
             */
            public String getParentPlanID() {
                return parentPlanID;
            }

            /**
             * 设置parentPlanID属性的值。
             * 
             * @param value
             *     allowed object is
             *     {@link String }
             *     
             */
            public void setParentPlanID(String value) {
                this.parentPlanID = value;
            }


            /**
             * <p>anonymous complex type的 Java 类。
             * 
             * <p>以下模式片段指定包含在此类中的预期内容。
             * 
             * <pre>
             * &lt;complexType&gt;
             *   &lt;complexContent&gt;
             *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
             *       &lt;sequence&gt;
             *         &lt;element name="PlayPeriodID" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}PlayPeriodType"/&gt;
             *       &lt;/sequence&gt;
             *     &lt;/restriction&gt;
             *   &lt;/complexContent&gt;
             * &lt;/complexType&gt;
             * </pre>
             * 
             * 
             */
            @XmlAccessorType(XmlAccessType.FIELD)
            @XmlType(name = "", propOrder = {
                "playPeriodID"
            })
            public static class PlayPeriodIDs {

                @XmlElement(name = "PlayPeriodID", required = true, nillable = true)
                protected PlayPeriodType playPeriodID;

                /**
                 * 获取playPeriodID属性的值。
                 * 
                 * @return
                 *     possible object is
                 *     {@link PlayPeriodType }
                 *     
                 */
                public PlayPeriodType getPlayPeriodID() {
                    return playPeriodID;
                }

                /**
                 * 设置playPeriodID属性的值。
                 * 
                 * @param value
                 *     allowed object is
                 *     {@link PlayPeriodType }
                 *     
                 */
                public void setPlayPeriodID(PlayPeriodType value) {
                    this.playPeriodID = value;
                }

            }

        }

    }


    /**
     * <p>anonymous complex type的 Java 类。
     * 
     * <p>以下模式片段指定包含在此类中的预期内容。
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="ProductionClass" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ProductionClassType" maxOccurs="unbounded"/&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "productionClass"
    })
    public static class ProductionClasses {

        @XmlElement(name = "ProductionClass", required = true)
        protected List<ProductionClassType> productionClass;

        /**
         * Gets the value of the productionClass property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the productionClass property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getProductionClass().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link ProductionClassType }
         * 
         * 
         */
        public List<ProductionClassType> getProductionClass() {
            if (productionClass == null) {
                productionClass = new ArrayList<ProductionClassType>();
            }
            return this.productionClass;
        }

    }


    /**
     * <p>anonymous complex type的 Java 类。
     * 
     * <p>以下模式片段指定包含在此类中的预期内容。
     * 
     * <pre>
     * &lt;complexType&gt;
     *   &lt;complexContent&gt;
     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType"&gt;
     *       &lt;sequence&gt;
     *         &lt;element name="ProductionMode" type="{http://cctv.com/PPM/schema/PPM_CommonDataTypes/0.1}ProductionModeType" maxOccurs="unbounded"/&gt;
     *       &lt;/sequence&gt;
     *     &lt;/restriction&gt;
     *   &lt;/complexContent&gt;
     * &lt;/complexType&gt;
     * </pre>
     * 
     * 
     */
    @XmlAccessorType(XmlAccessType.FIELD)
    @XmlType(name = "", propOrder = {
        "productionMode"
    })
    
    public static class ProductionModes {

        @XmlElement(name = "ProductionMode", required = true)
        protected List<ProductionModeType> productionMode;

        /**
         * Gets the value of the productionMode property.
         * 
         * <p>
         * This accessor method returns a reference to the live list,
         * not a snapshot. Therefore any modification you make to the
         * returned list will be present inside the JAXB object.
         * This is why there is not a <CODE>set</CODE> method for the productionMode property.
         * 
         * <p>
         * For example, to add a new item, do as follows:
         * <pre>
         *    getProductionMode().add(newItem);
         * </pre>
         * 
         * 
         * <p>
         * Objects of the following type(s) are allowed in the list
         * {@link ProductionModeType }
         * 
         * 
         */
        public List<ProductionModeType> getProductionMode() {
            if (productionMode == null) {
                productionMode = new ArrayList<ProductionModeType>();
            }
            return this.productionMode;
        }

    }

}
